#include "mainwindow.h"
#include "./ui_mainwindow.h"

MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
    , ui(new Ui::MainWindow)
{
    ui->setupUi(this);
    // QToolBar *toolbar1 = addToolBar("Main Toolbar1");
    // QToolBar *toolbar2 = addToolBar("Main Toolbar2");
    // this->addToolBar(Qt::RightToolBarArea, toolbar1);
    // //this->addToolBar(Qt::LeftToolBarArea, toolbar2);
    // toolbar2 -> setAllowedAreas(Qt::LeftToolBarArea);
    // QToolBar *toolbar3 = addToolBar("Main Toolbar3");
    // this->addToolBar(Qt::TopToolBarArea, toolbar3);
    // toolbar1->setFloatable(true);
    // toolbar2->setMovable(true);
    // toolbar3->setMovable(false);

    resize(800, 600);  // 修正：设置窗口大小（原代码 &80 应为 800）

    QToolBar *toolBar = new QToolBar(this);
    // 设置工具栏初始位置为左侧
    addToolBar(Qt::LeftToolBarArea, toolBar);

    // 限制工具栏仅允许停靠在左侧或右侧
    toolBar->setAllowedAreas(Qt::LeftToolBarArea | Qt::RightToolBarArea);

    // 禁止工具栏浮动（不能脱离主窗口）
    toolBar->setFloatable(false);

    // 禁止工具栏移动（完全固定位置）
    toolBar->setMovable(false);

    // 添加动作和控件
    QAction *openAction = new QAction("open", this);
    QAction *newAction = new QAction("new", this);

    toolBar->addAction(openAction);
    toolBar->addSeparator();  // 添加分割线
    toolBar->addAction(newAction);

    // 在工具栏中添加按钮控件
    QPushButton *btn = new QPushButton("保存", this);
    toolBar->addWidget(btn);

    QStatusBar *statusBar = new QStatusBar(this);
    setStatusBar(statusBar);

    QLabel *label = new QLabel("状态栏", this);
    statusBar->addWidget(label);

    QLabel *label2 = new QLabel("错误信息", this);
    statusBar->addPermanentWidget(label2);

    QDockWidget*dockwidges = new QDockWidget("浮动窗口",this);

    dockwidges->setAllowedAreas(Qt::TopDockWidgetArea | Qt::BottomDockWidgetArea);
}

MainWindow::~MainWindow()
{
    delete ui;
}
